package main;

import java.awt.Color;
import java.util.Random;

/**
 * Static colorSchemes class.
 * Provides a multidimensional colorscheme array
 * @author Patrick Bauer
 */
public class ColorScheme {
    /**
     * Multidimensional colorScheme array
     */
    public static Color[][] colorSchemes;

    /**
     * Initializes the colorSchemes array with 10 hardcoded and 1 random colorScheme
     */
    static void init() {
        Random random = new Random();

        /**
         * [0] => background
         * [1] => coordinate system
         * [2] => function
         */
        colorSchemes = new Color[][] { 
            //scheme 1
            {new Color((int) 0xD2FAF8), new Color((int) 0x0D8D85), new Color((int) 0x000000)},
            
            //scheme 2
            {new Color((int) 0xEBE5EA), new Color((int) 0x5B4356), new Color((int) 0x000000)},
            
            //scheme 3
            {new Color((int) 0xBFE3B3), new Color((int) 0x26491B), new Color((int) 0x000000)},
            
            //scheme 4
            {new Color((int) 0xF6E56F), new Color((int) 0x302B03), new Color((int) 0x000000)},
            
            //scheme 5
            {new Color((int) 0xE4DAF4), new Color((int) 0x43227A), new Color((int) 0x000000)},
            
            //scheme 6
            {new Color((int) 0xF6F0F8), new Color((int) 0x703B7B), new Color((int) 0x000000)},
            
            //scheme 7
            {new Color((int) 0xFCC8CB), new Color((int) 0x8C070D), new Color((int) 0x000000)},
            
            //scheme 8
            {new Color((int) 0xF3F5F0), new Color((int) 0x5B694A), new Color((int) 0x000000)},
            
            //scheme 9
            {new Color((int) 0xD8DFE4), new Color((int) 0x394651), new Color((int) 0x000000)},
            
            //scheme 10
            {new Color((int) 0x22D3BB), new Color((int) 0x000000), new Color((int) 0x000000)},
            
            
            //scheme random
            {new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)), new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)), new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256))}
        };
    }
}
